* {
    padding: 0;
    margin: 0;
}

a {
    text-decoration: none;
}

body {
    background-color: rgb(209, 213, 219);
    display: -webkit-flex; /* 使苹果的safari浏览器也兼容flex布局 */
    display: flex; /* body最大父元素使用浮动布局 */
    justify-content: space-evenly;
    align-items: center;
    height: 100%;
}

.shell {
    width: 100px;
    height: 700px;
    display: -webkit-flex; /* 使苹果的safari浏览器也兼容flex布局 */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background-color: rgb(17, 24, 39);
    border-radius: 10px;
    transition: .3s;
    overflow: hidden;
}

.box {
    display: block;
    height: 15%;
    width: 85%;
    margin: 9px;
    border-radius: 10px;
    position: relative;
    transition: .3s;
    color: rgb(160, 160, 175);
}

.box i {
    font-size: 60px;
    position: absolute;
    margin: 7px 0 0 13px;
}

.box:nth-child(1)::before,
.box:nth-child(5)::before {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background-color: rgb(55, 65, 81);
    position: absolute;
    bottom: -10px;
}

.box span {
    position: relative;
    top: 22px;
    left: 80px;
    font: 500 20px '';
    opacity: 0;
    transition: .1s;
}

.shell:hover {
    width: 200px;   
}

.box:hover {
    background-color: rgb(55, 65, 81);
}

.shell:hover span {
    opacity: 1;
}

.box:hover {
    color: #fff;
}